package icu.twtool.database.model

import icu.twtool.database.DatabaseUtil

/**
 * 习题的元数据
 *
 * @param id 序号
 * @param name 习题名
 * @param type 习题类型
 * @param count 习题算式数
 * @param reallyName 习题的真实文件名
 * @author Wen
 * @since 2022-11-02
 */
data class ExerciseMetaData(
    val id: Int,
    val name: String,
    val type: String,
    val count: Int,
    val reallyName: String
) {

    companion object {

        fun init() {
            DatabaseUtil.connection {
                createStatement().execute("""
                    create table if not exists tb_exercise_mete_data
                    (
                        ID         int primary key auto_increment comment '序号',
                        NAME       varchar(64) not null comment '习题名',
                        `TYPE`     varchar(16) not null comment '习题类型',
                        COUNT      int         not null comment '算式数',
                        REALLY_NAME varchar(21) not null comment '习题文件的真实名字，使用NanoID生成'
                    );
                """.trimIndent())
            }
        }
    }


    enum class Type(val type: String) {
        ADD("加法"),
        SUB("减法"),
        MIX("混合"),
    }
}
